/* Copyright 2009
 *
 * This program and the accompanying materials
 * are made available under the terms of the
 * Eclipse Public License v1.0 which accompanies
 * this distribution, and is available at
 *
 * 		http://www.eclipse.org/legal/epl-v10.html
 *
 * Unless required by applicable law or agreed to in
 * writing, software distributed under the License is
 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
 * OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing
 * permissions and limitations under the License.
 *
 * Contributors:
 * 	   IBM Corporation - initial API and implementation for JDT/DLTK
 *     Sean W. Quinn - initial adoption for use with PHP from various sources.
 */
package org.eclipse.php.internal.core.util;

import org.eclipse.osgi.util.NLS;

public class Messages {

	private static final String BUNDLE_NAME = "org.eclipse.php.internal.core.util.messages";//$NON-NLS-1$

	public static String hierarchy_nullProject;
	public static String hierarchy_nullRegion;
	public static String hierarchy_nullFocusType;
	public static String hierarchy_creating;
	public static String hierarchy_creatingOnType;

	public static String build_readStateProgress;
	public static String build_wrongFileFormat;

	public static String buildpath_buildPath;
	public static String buildpath_cannotNestEntryInEntry;
	public static String buildpath_cannotNestEntryInEntryNoExclusion;
	public static String buildpath_cannotNestEntryInLibrary;
	public static String buildpath_cannotReadBuildpathFile;
	public static String buildpath_cannotReferToItself;
	public static String buildpath_closedProject;
	public static String buildpath_couldNotWriteBuildpathFile;
	public static String buildpath_cycle;
	public static String buildpath_disabledInclusionExclusionPatterns;
	public static String buildpath_duplicateEntryPath;
	public static String buildpath_illegalContainerPath;
	public static String buildpath_illegalEntryInBuildpathFile;
	public static String buildpath_illegalVariablePath;
	public static String buildpath_illegalLibraryPath;
	public static String buildpath_illegalLibraryArchive;
	public static String buildpath_illegalExternalFolder;
	public static String buildpath_illegalProjectPath;
	public static String buildpath_illegalSourceFolderPath;
	public static String buildpath_invalidBuildpathInBuildpathFile;
	public static String buildpath_invalidContainer;
	public static String buildpath_multipleInterpreters;
	public static String buildpath_mustEndWithSlash;
	public static String buildpath_unboundContainerPath;
	public static String buildpath_unboundProject;
	public static String buildpath_settingProgress;
	public static String buildpath_unboundSourceFolder;
	public static String buildpath_unknownKind;
	public static String buildpath_xmlFormatError;
	public static String buildpath_duplicateEntryExtraAttribute;

	// convention
	public static String convention_namespace_consecutiveSlashesName;
	public static String convention_namespace_nameWithBlanks;
	public static String convention_namespace_nullName;
	public static String convention_namespace_emptyName;
	public static String convention_namespace_slashName;
	public static String convention_namespace_uppercaseName;
	public static String convention_illegalIdentifier;
	public static String convention_unit_nullName;
	public static String convention_unit_notScriptName;
	public static String convention_use_nullUse;
	public static String convention_use_unqualifiedUse;

	// status
	public static String status_cannotUseDeviceOnPath;
	public static String status_coreException;
	public static String status_IOException;
	public static String status_indexOutOfBounds;
	public static String status_invalidContents;
	public static String status_invalidDestination;
	public static String status_invalidName;
	public static String status_invalidPackage;
	public static String status_invalidPath;
	public static String status_invalidProject;
	public static String status_invalidResource;
	public static String status_invalidResourceType;
	public static String status_invalidSibling;
	public static String status_nameCollision;
	public static String status_noLocalContents;
	public static String status_OK;
	public static String status_readOnly;
	public static String status_targetException;
	public static String status_updateConflict;

	//
	public static String element_doesNotExist;
	public static String element_notOnClasspath;
	public static String element_reconciling;
	public static String element_nullName;

	// operations
	public static String operation_needElements;
	public static String operation_needName;
	public static String operation_needPath;
	public static String operation_needAbsolutePath;
	public static String operation_needString;
	public static String operation_notSupported;
	public static String operation_nullContainer;
	public static String operation_nullName;
	public static String operation_copyElementProgress;
	public static String operation_moveElementProgress;
	public static String operation_renameElementProgress;
	public static String operation_copyResourceProgress;
	public static String operation_moveResourceProgress;
	public static String operation_renameResourceProgress;
	public static String operation_createScriptFolderProgress;
	public static String operation_deleteResourceProgress;
	public static String operation_pathOutsideProject;
	public static String restrictedAccess_project;
	public static String restrictedAccess_library;
	public static String restrictedAccess_constructor_project;
	public static String restrictedAccess_constructor_library;
	public static String restrictedAccess_field_project;
	public static String restrictedAccess_field_library;
	public static String restrictedAccess_method_project;
	public static String restrictedAccess_method_library;

	public static String file_badFormat;
	public static String file_notFound;

	public static String path_mustBeAbsolute;

	public static String savedState_jobName;

	public static String Util_errorReceivingFile;

	public static String workingCopy_commit;

	public static String cache_invalidLoadFactor;

	public static String manager_indexingTask;
	public static String manager_filesToIndex;
	public static String manager_indexingInProgress;

	public static String exception_wrongFormat;

	public static String engine_searching;
	public static String engine_searching_indexing;
	public static String engine_searching_matching;

	public static String process_name;

	public static String build_saveStateProgress;
	public static String build_saveStateComplete;
	public static String build_cannotSaveState;
	public static String build_cannotSaveStates;

	private Messages() {
	// Do not instantiate
	}

	static {
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	/**
	 * Bind the given message's substitution locations with the given string
	 * values.
	 *
	 * @param message the message to be manipulated
	 * @return the manipulated String
	 */
	public static String bind(String message) {
		return bind(message, null);
	}

	/**
	 * Bind the given message's substitution locations with the given string
	 * values.
	 *
	 * @param message the message to be manipulated
	 * @param binding the object to be inserted into the message
	 * @return the manipulated String
	 */
	public static String bind(String message, Object binding) {
		return bind(message, new Object[] { binding });
	}

	/**
	 * Bind the given message's substitution locations with the given string
	 * values.
	 *
	 * @param message the message to be manipulated
	 * @param binding1 An object to be inserted into the message
	 * @param binding2 A second object to be inserted into the message
	 * @return the manipulated String
	 */
	public static String bind(String message, Object binding1, Object binding2) {
		return bind(message, new Object[] { binding1, binding2 });
	}

	/**
	 * Bind the given message's substitution locations with the given string
	 * values.
	 *
	 * @param message the message to be manipulated
	 * @param bindings An array of objects to be inserted into the message
	 * @return the manipulated String
	 */
	public static String bind(String message, Object[] bindings) {
		return NLS.bind(message, bindings);
	}
}
